<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="./../../_template.xhtml"
                xmlns:h="http://xmlns.jcp.org/jsf/html"
                xmlns:p="http://primefaces.org/ui"
                xmlns:f="http://xmlns.jcp.org/jsf/core">

    <ui:define name="centro">

        <h:form>
            <p:outputLabel value="Cadastro de Funcionário - Incluir" rendered="#{empty funcionarioBean.funcionario.id}" style="font-size: x-large; margin-left: 25px" styleClass="labelInserir" />
            <p:outputLabel value="Cadastro de Funcionário - Alterar" rendered="#{not empty funcionarioBean.funcionario.id}" style="font-size: x-large; margin-left: 25px" styleClass="labelAlterar" />
            
            <p:fieldset styleClass="fieldsetInsert" style=" margin-left: 25px">
                <p:messages />
                <h:panelGrid columns="2" >
                    <h:panelGrid columns="1">
                        <p:outputLabel style="margin-right: 15px; text-align: left" value="Nome do funcionario" for="nomeFunc" />
                        <p:inputText id="nomeFunc"  value="#{funcionarioBean.funcionario.nome}" style="width: 600px;"
                                     required="true" requiredMessage="O campo 'nome' deve ser preenchido!" maxlength="50" size="50"  />
                    </h:panelGrid>

                    <h:panelGrid columns="1" style=" margin-left: 10px;">
                        <p:outputLabel style="text-align: left" value="CPF" for="cpf" />
                        <p:inputMask id="cpf"  mask="999.999.999-99" value="#{funcionarioBean.funcionario.cpf}" disabled="true">
                            <p:message for="cpf" />
                        </p:inputMask>
                    </h:panelGrid>
                </h:panelGrid>
                
                <h:panelGrid columns="2">
                    <h:panelGrid columns="1">
                        <p:outputLabel style="text-align: left;" for="id" value="Identidade" />
                        <p:inputText id="id"  value="#{funcionarioBean.funcionario.identidade}" style="width: 200px;" maxlength="16" size="16" />
                    </h:panelGrid>

                    <h:panelGrid columns="1" style=" margin-left: 10px;" >
                        <p:outputLabel style="text-align: left;" for="orgao" value="Orgão emissor" />
                        <p:inputText id="orgao"  value="#{funcionarioBean.funcionario.orgaoEmissor}" style="width: 130px;" maxlength="10" size="10" />
                    </h:panelGrid>
                </h:panelGrid>
                
                <h:panelGrid columns="4" >
                    <h:panelGrid columns="1" >
                        <p:outputLabel style="text-align: left;" for="mat" value="Matricula" />
                        <p:inputText id="mat"  value="#{funcionarioBean.funcionario.matricula}" style="width: 190px" 
                                     required="true" requiredMessage="Informe a matrícula do funcionário." maxlength="10" size="10"/>
                    </h:panelGrid>

                    <h:panelGrid columns="1" style=" margin-left: 10px;" >
                        <p:outputLabel style="text-align: left;" for="dataAd" value="Data de Admissão" />
                        <p:calendar id="dataAd" pattern="dd/MM/yyyy" yearRange="c-100:c+100" navigator="true" readonlyInput="false"
                                    maxdate="#{funcionarioBean.dataAtual}"  value="#{funcionarioBean.funcionario.dataAdmissao}"
                                    required="true" requiredMessage="Informe a Data de Admissão do funcionário." />
                    </h:panelGrid>
                    
                    <h:panelGrid columns="1" style=" margin-left: 10px;" >
                        <p:outputLabel style="text-align: left;" for="data" value="Data de desligamento" />
                        <p:calendar id="data" pattern="dd/MM/yyyy" yearRange="c-100:c+100" navigator="true" readonlyInput="false"
                                     mindate="#{funcionarioBean.dataAtual}" value="#{funcionarioBean.funcionario.dataDesligamento}" />
                    </h:panelGrid>
                    
                    <h:panelGrid columns="1" style=" margin-left: 10px;" >
                        <p:outputLabel style="text-align: left;" for="tipoContrato" value="Tipo de contrato" />
                        <p:selectOneMenu id="tipoContrato" value="#{funcionarioBean.funcionario.tipoContrato}" style="width: 130px"
                                         required="true" requiredMessage="Informe o Tipo de Contrato do funcionário." >
                            <f:selectItem itemLabel="selecione"/>
                            <f:selectItem itemLabel="CONTRATADO"   itemValue="CONTRATADO"  />
                            <f:selectItem itemLabel="TERCEIRIZADO" itemValue="TERCEIRIZADO"/>
                        </p:selectOneMenu>
                    </h:panelGrid>
                </h:panelGrid>
               
                <h:panelGrid columns="1">
                    <h:panelGrid columns="1" >
                        <p:outputLabel style="text-align: left" value="Endereço" for="rua" />
                        <p:inputText id="rua"  value="#{funcionarioBean.funcionario.endereco.rua}" style="width: 860px;" maxlength="150" size="150" />
                    </h:panelGrid>
                </h:panelGrid>
                    
                <h:panelGrid columns="3" >
                    <h:panelGrid columns="1">
                        <p:outputLabel style="text-align: left" value="Cidade" for="cidade" />
                        <p:inputText id="cidade"  value="#{funcionarioBean.funcionario.endereco.cidade}" style="width: 520px" maxlength="60" size="60" />
                    </h:panelGrid>

                    <h:panelGrid columns="1" style=" margin-left: 10px;" >
                        <p:outputLabel style="text-align: left" value="UF" for="estado" />
                        <p:selectOneMenu id="estado" value="#{funcionarioBean.funcionario.endereco.estado}" style="width: 65px">
                            <f:selectItem itemLabel=" "/>
                            <f:selectItems value="#{funcionarioBean.unidadesFederativas}" />
                        </p:selectOneMenu>
                    </h:panelGrid>
                    
                    <h:panelGrid columns="1" style=" margin-left: 10px;" >
                        <p:outputLabel style="text-align: left; " value="CEP" for="cep" />
                        <p:inputMask id="cep" mask="99.999-999" value="#{funcionarioBean.funcionario.endereco.cep}" />
                    </h:panelGrid>
                </h:panelGrid>

                <h:panelGrid columns="2">
                    <h:panelGrid columns="1">
                        <p:outputLabel style="text-align: left" value="Telefone 1" for="tel1" />
                        <p:inputMask id="tel1" mask="(99)9999-9999" value="#{funcionarioBean.funcionario.endereco.telefone1}" style="width: 200px" />
                    </h:panelGrid>
                    
                    <h:panelGrid columns="1" style=" margin-left: 10px;" >
                        <p:outputLabel style="text-align: left" value="Telefone 2" for="tel2" />
                        <p:inputMask id="tel2" mask="(99)9999-9999" value="#{funcionarioBean.funcionario.endereco.telefone2}"  style="width: 200px" />
                    </h:panelGrid>
                </h:panelGrid>
                
                <h:panelGrid columns="3">
                    <h:panelGrid columns="1" >
                        <p:outputLabel style="text-align: left" value="Login" for="login" rendered="#{funcionarioBean.usuarioAtivo}"/>
                        <p:inputText id="login" value="#{funcionarioBean.funcionario.usuario.login}" disabled="true"
                                     rendered="#{funcionarioBean.usuarioAtivo}"/>
                    </h:panelGrid>
                    
                    <h:panelGrid columns="1" style=" margin-left: 10px;" >
                        <p:outputLabel style="text-align: left" value="Senha" for="senha" rendered="#{funcionarioBean.usuarioAtivo}"/>
                        <p:inputText id="senha" value="#{funcionarioBean.funcionario.usuario.senha}" rendered="#{funcionarioBean.usuarioAtivo}"
                                     required="true" requiredMessage="Informe a senha do usuário." />
                    </h:panelGrid>
                    
                    <h:panelGrid columns="1"  style=" margin-left: 10px;">
                        <p:outputLabel style="text-align: left" value="Perfil" for="perfil" rendered="#{funcionarioBean.usuarioAtivo}"/>
                        <p:selectOneMenu id="perfil" value="#{funcionarioBean.funcionario.usuario.perfil}" converter="entityConverter"
                                         rendered="#{funcionarioBean.usuarioAtivo}">          
                            <f:selectItem itemLabel="selecione"/>
                            <f:selectItems value="#{funcionarioBean.perfis}" var="perfil" itemLabel="#{perfil.descricao_user}"/>
                        </p:selectOneMenu>
                    </h:panelGrid>
                </h:panelGrid><br/>
                
                <p:commandButton value="Gravar" action="#{funcionarioBean.gravarFuncionario()}" rendered="#{empty funcionarioBean.funcionario.id}" 
                                 style="margin-left: 5px" icon="ui-icon-check" ajax="false" />
                
                <p:commandButton value="Salvar" action="#{funcionarioBean.gravarFuncionario()}" rendered="#{not empty funcionarioBean.funcionario.id}"
                                 style="margin-left: 10px;" icon="ui-icon-check" >
                    <p:confirm header="Confirmação" message="Deseja alterar a informação?" icon="ui-icon-alert" />
                    <p:confirmDialog global="true"  showEffect="fade" >
                        <p:commandButton value="Sim" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
                        <p:commandButton value="Não" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
                    </p:confirmDialog>
                </p:commandButton>
                        
                
                <p:commandButton value="Incluir Perfil" action="#{funcionarioBean.cadastrarPerfil}" style="margin-left: 10px;" 
                                 icon="ui-icon-check" ajax="false" rendered="#{!funcionarioBean.usuarioAtivo}" />
                
                <p:commandButton value="Voltar" action="#{funcionarioBean.voltarParafuncionario}" immediate="true" style="margin-left: 10px;"
                                 icon="ui-icon-arrowreturnthick-1-w" ajax="false"/>
            </p:fieldset>
        </h:form>
    </ui:define>
</ui:composition>